(* This is a generated file *)

external cpSpaceDestroy:  space:cpSpace -> unit = "ml_cpSpaceDestroy"

external cpSpaceFree:  space:cpSpace -> unit = "ml_cpSpaceFree"

external cpSpaceFreeChildren:  space:cpSpace -> unit = "ml_cpSpaceFreeChildren"

external cpSpaceAddShape:  space:cpSpace -> shape:cpShape -> unit = "ml_cpSpaceAddShape"

external cpSpaceAddStaticShape:  space:cpSpace -> shape:cpShape -> unit = "ml_cpSpaceAddStaticShape"

external cpSpaceAddBody:  space:cpSpace -> body:cpBody -> unit = "ml_cpSpaceAddBody"

external cpSpaceAddConstraint:  space:cpSpace -> constr:cpConstraint -> unit = "ml_cpSpaceAddConstraint"

external cpSpaceRemoveShape:  space:cpSpace -> shape:cpShape -> unit = "ml_cpSpaceRemoveShape"

external cpSpaceRemoveStaticShape:  space:cpSpace -> shape:cpShape -> unit = "ml_cpSpaceRemoveStaticShape"

external cpSpaceRemoveBody:  space:cpSpace -> body:cpBody -> unit = "ml_cpSpaceRemoveBody"

external cpSpaceRemoveConstraint:  space:cpSpace -> constr:cpConstraint -> unit = "ml_cpSpaceRemoveConstraint"

external cpSpaceResizeStaticHash:  space:cpSpace -> dim:float -> count:int -> unit = "ml_cpSpaceResizeStaticHash"

external cpSpaceResizeActiveHash:  space:cpSpace -> dim:float -> count:int -> unit = "ml_cpSpaceResizeActiveHash"

external cpSpaceRehashStatic:  space:cpSpace -> unit = "ml_cpSpaceRehashStatic"

external cpSpaceStep:  space:cpSpace -> dt:float -> unit = "ml_cpSpaceStep"

external cpBodyFree:  body:cpBody -> unit = "ml_cpBodyFree"

external cpBodySlew:  body:cpBody -> pos:cpVect -> dt:float -> unit = "ml_cpBodySlew"

external cpBodyUpdateVelocity:  body:cpBody -> gravity:cpVect -> damping:float -> dt:float -> unit = "ml_cpBodyUpdateVelocity"

external cpBodyUpdatePosition:  body:cpBody -> dt:float -> unit = "ml_cpBodyUpdatePosition"

external cpBodyLocal2World:  body:cpBody -> v:cpVect -> cpVect = "ml_cpBodyLocal2World"

external cpBodyWorld2Local:  body:cpBody -> v:cpVect -> cpVect = "ml_cpBodyWorld2Local"

external cpBodyApplyImpulse:  body:cpBody -> j:cpVect -> r:cpVect -> unit = "ml_cpBodyApplyImpulse"

external cpBodyResetForces:  body:cpBody -> unit = "ml_cpBodyResetForces"

external cpBodyApplyForce:  body:cpBody -> f:cpVect -> r:cpVect -> unit = "ml_cpBodyApplyForce"

external cpShapeFree:  shape:cpShape -> unit = "ml_cpShapeFree"

external cpResetShapeIdCounter:  unit -> unit = "ml_cpResetShapeIdCounter"

external cpPinJointNew:  a:cpBody -> b:cpBody -> anchr1:cpVect -> anchr2:cpVect -> cpConstraint = "ml_cpPinJointNew"

external cpSlideJointNew:  a:cpBody -> b:cpBody -> anchr1:cpVect -> anchr2:cpVect -> min:float -> max:float -> cpConstraint = "ml_cpSlideJointNew_bc" "ml_cpSlideJointNew"

external cpPivotJointNew:  a:cpBody -> b:cpBody -> pivot:cpVect -> cpConstraint = "ml_cpPivotJointNew"

external cpGrooveJointNew:  a:cpBody -> b:cpBody -> groove_a:cpVect -> groove_b:cpVect -> anchr2:cpVect -> cpConstraint = "ml_cpGrooveJointNew"

external cpConstraintFree:  constr:cpConstraint -> unit = "ml_cpConstraintFree"

external cpDampedSpringNew:  a:cpBody -> b:cpBody -> anchr1:cpVect -> anchr2:cpVect -> rest_length:float -> stiffness:float -> damping:float -> cpConstraint = "ml_cpDampedSpringNew_bc" "ml_cpDampedSpringNew"


(** {4 Structure Members Access} *)

external cpBodySetMass: body:cpBody -> m:float -> unit = "ml_cpBodySetMass"

external cpBodySetMassInverse: body:cpBody -> m_inv:float -> unit = "ml_cpBodySetMassInverse"

external cpBodySetMoment: body:cpBody -> i:float -> unit = "ml_cpBodySetMoment"

external cpBodySetMomentInverse: body:cpBody -> i_inv:float -> unit = "ml_cpBodySetMomentInverse"

external cpBodySetPos: body:cpBody -> p:cpVect -> unit = "ml_cpBodySetPos"

external cpBodySetVel: body:cpBody -> v:cpVect -> unit = "ml_cpBodySetVel"

external cpBodySetForce: body:cpBody -> f:cpVect -> unit = "ml_cpBodySetForce"

external cpBodySetVelBias: body:cpBody -> v_bias:cpVect -> unit = "ml_cpBodySetVelBias"

external cpBodySetAngle: body:cpBody -> a:float -> unit = "ml_cpBodySetAngle"

external cpBodySetAVel: body:cpBody -> w:float -> unit = "ml_cpBodySetAVel"

external cpBodySetTorque: body:cpBody -> t:float -> unit = "ml_cpBodySetTorque"

external cpBodySetAVelBias: body:cpBody -> w_bias:float -> unit = "ml_cpBodySetAVelBias"

external cpBodySetRot: body:cpBody -> rot:cpVect -> unit = "ml_cpBodySetRot"

external cpBodySetData: body:cpBody -> data:int -> unit = "ml_cpBodySetData"

external cpBodySetVelLim: body:cpBody -> v_limit:float -> unit = "ml_cpBodySetVelLim"

external cpBodySetAngVelLim: body:cpBody -> w_limit:float -> unit = "ml_cpBodySetAngVelLim"

external cpSpaceSetIterations: space:cpSpace -> iterations:int -> unit = "ml_cpSpaceSetIterations"

external cpSpaceSetGravity: space:cpSpace -> gravity:cpVect -> unit = "ml_cpSpaceSetGravity"

external cpSpaceSetDamping: space:cpSpace -> damping:float -> unit = "ml_cpSpaceSetDamping"

external cpSpaceSetElasticIterations: space:cpSpace -> elasticIterations:int -> unit = "ml_cpSpaceSetElasticIterations"

external cpShapeSetElasticity: shape:cpShape -> e:float -> unit = "ml_cpShapeSetElasticity"

external cpShapeSetFriction: shape:cpShape -> u:float -> unit = "ml_cpShapeSetFriction"

external cpShapeSetSurfaceV: shape:cpShape -> surface_v:cpVect -> unit = "ml_cpShapeSetSurfaceV"

external cpShapeSetCollisionType: shape:cpShape -> collision_type:int -> unit = "ml_cpShapeSetCollisionType"

external cpShapeSetGroup: shape:cpShape -> group:int -> unit = "ml_cpShapeSetGroup"

external cpShapeSetLayers: shape:cpShape -> layers:int -> unit = "ml_cpShapeSetLayers"

external cpShapeSetData: shape:cpShape -> data:int -> unit = "ml_cpShapeSetData"

external cpCircleShapeSetCenter: circle_shape:cpCircleShape -> c:cpVect -> unit = "ml_cpCircleShapeSetCenter"

external cpCircleShapeSetRadius: circle_shape:cpCircleShape -> r:float -> unit = "ml_cpCircleShapeSetRadius"

external cpSegmentShapeSetA: segment_shape:cpSegmentShape -> a:cpVect -> unit = "ml_cpSegmentShapeSetA"

external cpSegmentShapeSetB: segment_shape:cpSegmentShape -> b:cpVect -> unit = "ml_cpSegmentShapeSetB"

external cpSegmentShapeSetNorm: segment_shape:cpSegmentShape -> n:cpVect -> unit = "ml_cpSegmentShapeSetNorm"

external cpSegmentShapeSetThickness: segment_shape:cpSegmentShape -> r:float -> unit = "ml_cpSegmentShapeSetThickness"

external cpSegmentShapeSetTA: segment_shape:cpSegmentShape -> ta:cpVect -> unit = "ml_cpSegmentShapeSetTA"

external cpSegmentShapeSetTB: segment_shape:cpSegmentShape -> tb:cpVect -> unit = "ml_cpSegmentShapeSetTB"

external cpSegmentShapeSetTNorm: segment_shape:cpSegmentShape -> tn:cpVect -> unit = "ml_cpSegmentShapeSetTNorm"

external cpPinJointSetAnchor1: pin_joint:cpPinJoint -> anchr1:cpVect -> unit = "ml_cpPinJointSetAnchor1"

external cpPinJointSetAnchor2: pin_joint:cpPinJoint -> anchr2:cpVect -> unit = "ml_cpPinJointSetAnchor2"

external cpPinJointSetDist: pin_joint:cpPinJoint -> dist:float -> unit = "ml_cpPinJointSetDist"

external cpPinJointSetR1: pin_joint:cpPinJoint -> r1:cpVect -> unit = "ml_cpPinJointSetR1"

external cpPinJointSetR2: pin_joint:cpPinJoint -> r2:cpVect -> unit = "ml_cpPinJointSetR2"

external cpPinJointSetVect: pin_joint:cpPinJoint -> n:cpVect -> unit = "ml_cpPinJointSetVect"

external cpPinJointSetNMass: pin_joint:cpPinJoint -> nMass:float -> unit = "ml_cpPinJointSetNMass"

external cpPinJointSetJNAcc: pin_joint:cpPinJoint -> jnAcc:float -> unit = "ml_cpPinJointSetJNAcc"

external cpPinJointSetJNMax: pin_joint:cpPinJoint -> jnMax:float -> unit = "ml_cpPinJointSetJNMax"

external cpPinJointSetBias: pin_joint:cpPinJoint -> bias:float -> unit = "ml_cpPinJointSetBias"

external cpSlideJointSetAnchor1: slide_joint:cpSlideJoint -> anchr1:cpVect -> unit = "ml_cpSlideJointSetAnchor1"

external cpSlideJointSetAnchor2: slide_joint:cpSlideJoint -> anchr2:cpVect -> unit = "ml_cpSlideJointSetAnchor2"

external cpSlideJointSetMin: slide_joint:cpSlideJoint -> min:float -> unit = "ml_cpSlideJointSetMin"

external cpSlideJointSetMax: slide_joint:cpSlideJoint -> max:float -> unit = "ml_cpSlideJointSetMax"

external cpSlideJointSetR1: slide_joint:cpSlideJoint -> r1:cpVect -> unit = "ml_cpSlideJointSetR1"

external cpSlideJointSetR2: slide_joint:cpSlideJoint -> r2:cpVect -> unit = "ml_cpSlideJointSetR2"

external cpSlideJointSetVect: slide_joint:cpSlideJoint -> n:cpVect -> unit = "ml_cpSlideJointSetVect"

external cpSlideJointSetNMass: slide_joint:cpSlideJoint -> nMass:float -> unit = "ml_cpSlideJointSetNMass"

external cpSlideJointSetJNAcc: slide_joint:cpSlideJoint -> jnAcc:float -> unit = "ml_cpSlideJointSetJNAcc"

external cpSlideJointSetJNMax: slide_joint:cpSlideJoint -> jnMax:float -> unit = "ml_cpSlideJointSetJNMax"

external cpSlideJointSetBias: slide_joint:cpSlideJoint -> bias:float -> unit = "ml_cpSlideJointSetBias"

external cpPivotJointSetAnchor1: pivot_joint:cpPivotJoint -> anchr1:cpVect -> unit = "ml_cpPivotJointSetAnchor1"

external cpPivotJointSetAnchor2: pivot_joint:cpPivotJoint -> anchr2:cpVect -> unit = "ml_cpPivotJointSetAnchor2"

external cpPivotJointSetR1: pivot_joint:cpPivotJoint -> r1:cpVect -> unit = "ml_cpPivotJointSetR1"

external cpPivotJointSetR2: pivot_joint:cpPivotJoint -> r2:cpVect -> unit = "ml_cpPivotJointSetR2"

external cpPivotJointSetK1: pivot_joint:cpPivotJoint -> k1:cpVect -> unit = "ml_cpPivotJointSetK1"

external cpPivotJointSetK2: pivot_joint:cpPivotJoint -> k2:cpVect -> unit = "ml_cpPivotJointSetK2"

external cpPivotJointSetJAcc: pivot_joint:cpPivotJoint -> jAcc:cpVect -> unit = "ml_cpPivotJointSetJAcc"

external cpPivotJointSetJMaxLen: pivot_joint:cpPivotJoint -> jMaxLen:float -> unit = "ml_cpPivotJointSetJMaxLen"

external cpPivotJointSetBias: pivot_joint:cpPivotJoint -> bias:cpVect -> unit = "ml_cpPivotJointSetBias"

external cpGrooveJointSetGrvN: groove_joint:cpGrooveJoint -> grv_n:cpVect -> unit = "ml_cpGrooveJointSetGrvN"

external cpGrooveJointSetGrvA: groove_joint:cpGrooveJoint -> grv_a:cpVect -> unit = "ml_cpGrooveJointSetGrvA"

external cpGrooveJointSetGrvB: groove_joint:cpGrooveJoint -> grv_b:cpVect -> unit = "ml_cpGrooveJointSetGrvB"

external cpGrooveJointSetAnchor2: groove_joint:cpGrooveJoint -> anchr2:cpVect -> unit = "ml_cpGrooveJointSetAnchor2"

external cpGrooveJointSetGrvTn: groove_joint:cpGrooveJoint -> grv_tn:cpVect -> unit = "ml_cpGrooveJointSetGrvTn"

external cpGrooveJointSetClamp: groove_joint:cpGrooveJoint -> clamp:float -> unit = "ml_cpGrooveJointSetClamp"

external cpGrooveJointSetR1: groove_joint:cpGrooveJoint -> r1:cpVect -> unit = "ml_cpGrooveJointSetR1"

external cpGrooveJointSetR2: groove_joint:cpGrooveJoint -> r2:cpVect -> unit = "ml_cpGrooveJointSetR2"

external cpGrooveJointSetK1: groove_joint:cpGrooveJoint -> k1:cpVect -> unit = "ml_cpGrooveJointSetK1"

external cpGrooveJointSetK2: groove_joint:cpGrooveJoint -> k2:cpVect -> unit = "ml_cpGrooveJointSetK2"

external cpGrooveJointSetJAcc: groove_joint:cpGrooveJoint -> jAcc:cpVect -> unit = "ml_cpGrooveJointSetJAcc"

external cpGrooveJointSetJMaxLen: groove_joint:cpGrooveJoint -> jMaxLen:float -> unit = "ml_cpGrooveJointSetJMaxLen"

external cpGrooveJointSetBias: groove_joint:cpGrooveJoint -> bias:cpVect -> unit = "ml_cpGrooveJointSetBias"

external cpContactSetP: cp_contact:cpContact -> p:cpVect -> unit = "ml_cpContactSetP"

external cpContactSetN: cp_contact:cpContact -> n:cpVect -> unit = "ml_cpContactSetN"

external cpContactSetDist: cp_contact:cpContact -> dist:float -> unit = "ml_cpContactSetDist"

external cpContactSetR1: cp_contact:cpContact -> r1:cpVect -> unit = "ml_cpContactSetR1"

external cpContactSetR2: cp_contact:cpContact -> r2:cpVect -> unit = "ml_cpContactSetR2"

external cpContactSetNMass: cp_contact:cpContact -> nMass:float -> unit = "ml_cpContactSetNMass"

external cpContactSetTMass: cp_contact:cpContact -> tMass:float -> unit = "ml_cpContactSetTMass"

external cpContactSetBounce: cp_contact:cpContact -> bounce:float -> unit = "ml_cpContactSetBounce"

external cpContactSetJNAcc: cp_contact:cpContact -> jnAcc:float -> unit = "ml_cpContactSetJNAcc"

external cpContactSetJTAcc: cp_contact:cpContact -> jtAcc:float -> unit = "ml_cpContactSetJTAcc"

external cpContactSetJBias: cp_contact:cpContact -> jBias:float -> unit = "ml_cpContactSetJBias"

external cpContactSetBias: cp_contact:cpContact -> bias:float -> unit = "ml_cpContactSetBias"

external cpContactSetHash: cp_contact:cpContact -> hash:int -> unit = "ml_cpContactSetHash"

external cpArbiterSetNumContacts: arbiter:cpArbiter -> numContacts:int -> unit = "ml_cpArbiterSetNumContacts"

external cpArbiterSetE: arbiter:cpArbiter -> e:float -> unit = "ml_cpArbiterSetE"

external cpArbiterSetU: arbiter:cpArbiter -> u:float -> unit = "ml_cpArbiterSetU"

external cpArbiterSetSurface_vr: arbiter:cpArbiter -> surface_vr:cpVect -> unit = "ml_cpArbiterSetSurface_vr"

external cpArbiterSetStamp: arbiter:cpArbiter -> stamp:int -> unit = "ml_cpArbiterSetStamp"

external cpArbiterSetSwappedColl: arbiter:cpArbiter -> swappedColl:char -> unit = "ml_cpArbiterSetSwappedColl"

external cpArbiterSetState: arbiter:cpArbiter -> state:char -> unit = "ml_cpArbiterSetState"

external cpBBSetL: bb:cpBB -> l:float -> unit = "ml_cpBBSetL"

external cpBBSetB: bb:cpBB -> b:float -> unit = "ml_cpBBSetB"

external cpBBSetR: bb:cpBB -> r:float -> unit = "ml_cpBBSetR"

external cpBBSetT: bb:cpBB -> t:float -> unit = "ml_cpBBSetT"

external cpBodyGetMass: body:cpBody -> float = "ml_cpBodyGetMass"

external cpBodyGetMassInverse: body:cpBody -> float = "ml_cpBodyGetMassInverse"

external cpBodyGetMoment: body:cpBody -> float = "ml_cpBodyGetMoment"

external cpBodyGetMomentInverse: body:cpBody -> float = "ml_cpBodyGetMomentInverse"

external cpBodyGetPos: body:cpBody -> cpVect = "ml_cpBodyGetPos"

external cpBodyGetVel: body:cpBody -> cpVect = "ml_cpBodyGetVel"

external cpBodyGetForce: body:cpBody -> cpVect = "ml_cpBodyGetForce"

external cpBodyGetVelBias: body:cpBody -> cpVect = "ml_cpBodyGetVelBias"

external cpBodyGetAngle: body:cpBody -> float = "ml_cpBodyGetAngle"

external cpBodyGetAVel: body:cpBody -> float = "ml_cpBodyGetAVel"

external cpBodyGetTorque: body:cpBody -> float = "ml_cpBodyGetTorque"

external cpBodyGetAVelBias: body:cpBody -> float = "ml_cpBodyGetAVelBias"

external cpBodyGetRot: body:cpBody -> cpVect = "ml_cpBodyGetRot"

external cpBodyGetData: body:cpBody -> int = "ml_cpBodyGetData"

external cpBodyGetVelLim: body:cpBody -> float = "ml_cpBodyGetVelLim"

external cpBodyGetAngVelLim: body:cpBody -> float = "ml_cpBodyGetAngVelLim"

external cpSpaceGetIterations: space:cpSpace -> int = "ml_cpSpaceGetIterations"

external cpSpaceGetGravity: space:cpSpace -> cpVect = "ml_cpSpaceGetGravity"

external cpSpaceGetDamping: space:cpSpace -> float = "ml_cpSpaceGetDamping"

external cpSpaceGetElasticIterations: space:cpSpace -> int = "ml_cpSpaceGetElasticIterations"

external cpSpaceGetStamp: space:cpSpace -> int = "ml_cpSpaceGetStamp"

external cpShapeGetElasticity: shape:cpShape -> float = "ml_cpShapeGetElasticity"

external cpShapeGetFriction: shape:cpShape -> float = "ml_cpShapeGetFriction"

external cpShapeGetSurfaceV: shape:cpShape -> cpVect = "ml_cpShapeGetSurfaceV"

external cpShapeGetCollisionType: shape:cpShape -> int = "ml_cpShapeGetCollisionType"

external cpShapeGetGroup: shape:cpShape -> int = "ml_cpShapeGetGroup"

external cpShapeGetLayers: shape:cpShape -> int = "ml_cpShapeGetLayers"

external cpShapeGetData: shape:cpShape -> int = "ml_cpShapeGetData"

external cpShapeGetHashID: shape:cpShape -> int = "ml_cpShapeGetHashID"

external cpCircleShapeGetCenter: circle_shape:cpCircleShape -> cpVect = "ml_cpCircleShapeGetCenter"

external cpCircleShapeGetRadius: circle_shape:cpCircleShape -> float = "ml_cpCircleShapeGetRadius"

external cpSegmentShapeGetA: segment_shape:cpSegmentShape -> cpVect = "ml_cpSegmentShapeGetA"

external cpSegmentShapeGetB: segment_shape:cpSegmentShape -> cpVect = "ml_cpSegmentShapeGetB"

external cpSegmentShapeGetNorm: segment_shape:cpSegmentShape -> cpVect = "ml_cpSegmentShapeGetNorm"

external cpSegmentShapeGetThickness: segment_shape:cpSegmentShape -> float = "ml_cpSegmentShapeGetThickness"

external cpSegmentShapeGetTA: segment_shape:cpSegmentShape -> cpVect = "ml_cpSegmentShapeGetTA"

external cpSegmentShapeGetTB: segment_shape:cpSegmentShape -> cpVect = "ml_cpSegmentShapeGetTB"

external cpSegmentShapeGetTNorm: segment_shape:cpSegmentShape -> cpVect = "ml_cpSegmentShapeGetTNorm"

external cpPolyShapeGetNumVerts: poly:cpPolyShape -> int = "ml_cpPolyShapeGetNumVerts"

external cpPolyShapeGetVects: poly:cpPolyShape -> cpVectArray = "ml_cpPolyShapeGetVects"

external cpPolyShapeGetTVerts: poly:cpPolyShape -> cpVectArray = "ml_cpPolyShapeGetTVerts"

external cpPinJointGetAnchor1: pin_joint:cpPinJoint -> cpVect = "ml_cpPinJointGetAnchor1"

external cpPinJointGetAnchor2: pin_joint:cpPinJoint -> cpVect = "ml_cpPinJointGetAnchor2"

external cpPinJointGetDist: pin_joint:cpPinJoint -> float = "ml_cpPinJointGetDist"

external cpPinJointGetR1: pin_joint:cpPinJoint -> cpVect = "ml_cpPinJointGetR1"

external cpPinJointGetR2: pin_joint:cpPinJoint -> cpVect = "ml_cpPinJointGetR2"

external cpPinJointGetVect: pin_joint:cpPinJoint -> cpVect = "ml_cpPinJointGetVect"

external cpPinJointGetNMass: pin_joint:cpPinJoint -> float = "ml_cpPinJointGetNMass"

external cpPinJointGetJNAcc: pin_joint:cpPinJoint -> float = "ml_cpPinJointGetJNAcc"

external cpPinJointGetJNMax: pin_joint:cpPinJoint -> float = "ml_cpPinJointGetJNMax"

external cpPinJointGetBias: pin_joint:cpPinJoint -> float = "ml_cpPinJointGetBias"

external cpSlideJointGetAnchor1: slide_joint:cpSlideJoint -> cpVect = "ml_cpSlideJointGetAnchor1"

external cpSlideJointGetAnchor2: slide_joint:cpSlideJoint -> cpVect = "ml_cpSlideJointGetAnchor2"

external cpSlideJointGetMin: slide_joint:cpSlideJoint -> float = "ml_cpSlideJointGetMin"

external cpSlideJointGetMax: slide_joint:cpSlideJoint -> float = "ml_cpSlideJointGetMax"

external cpSlideJointGetR1: slide_joint:cpSlideJoint -> cpVect = "ml_cpSlideJointGetR1"

external cpSlideJointGetR2: slide_joint:cpSlideJoint -> cpVect = "ml_cpSlideJointGetR2"

external cpSlideJointGetVect: slide_joint:cpSlideJoint -> cpVect = "ml_cpSlideJointGetVect"

external cpSlideJointGetNMass: slide_joint:cpSlideJoint -> float = "ml_cpSlideJointGetNMass"

external cpSlideJointGetJNAcc: slide_joint:cpSlideJoint -> float = "ml_cpSlideJointGetJNAcc"

external cpSlideJointGetJNMax: slide_joint:cpSlideJoint -> float = "ml_cpSlideJointGetJNMax"

external cpSlideJointGetBias: slide_joint:cpSlideJoint -> float = "ml_cpSlideJointGetBias"

external cpPivotJointGetAnchor1: pivot_joint:cpPivotJoint -> cpVect = "ml_cpPivotJointGetAnchor1"

external cpPivotJointGetAnchor2: pivot_joint:cpPivotJoint -> cpVect = "ml_cpPivotJointGetAnchor2"

external cpPivotJointGetR1: pivot_joint:cpPivotJoint -> cpVect = "ml_cpPivotJointGetR1"

external cpPivotJointGetR2: pivot_joint:cpPivotJoint -> cpVect = "ml_cpPivotJointGetR2"

external cpPivotJointGetK1: pivot_joint:cpPivotJoint -> cpVect = "ml_cpPivotJointGetK1"

external cpPivotJointGetK2: pivot_joint:cpPivotJoint -> cpVect = "ml_cpPivotJointGetK2"

external cpPivotJointGetJAcc: pivot_joint:cpPivotJoint -> cpVect = "ml_cpPivotJointGetJAcc"

external cpPivotJointGetJMaxLen: pivot_joint:cpPivotJoint -> float = "ml_cpPivotJointGetJMaxLen"

external cpPivotJointGetBias: pivot_joint:cpPivotJoint -> cpVect = "ml_cpPivotJointGetBias"

external cpGrooveJointGetGrvN: groove_joint:cpGrooveJoint -> cpVect = "ml_cpGrooveJointGetGrvN"

external cpGrooveJointGetGrvA: groove_joint:cpGrooveJoint -> cpVect = "ml_cpGrooveJointGetGrvA"

external cpGrooveJointGetGrvB: groove_joint:cpGrooveJoint -> cpVect = "ml_cpGrooveJointGetGrvB"

external cpGrooveJointGetAnchor2: groove_joint:cpGrooveJoint -> cpVect = "ml_cpGrooveJointGetAnchor2"

external cpGrooveJointGetGrvTn: groove_joint:cpGrooveJoint -> cpVect = "ml_cpGrooveJointGetGrvTn"

external cpGrooveJointGetClamp: groove_joint:cpGrooveJoint -> float = "ml_cpGrooveJointGetClamp"

external cpGrooveJointGetR1: groove_joint:cpGrooveJoint -> cpVect = "ml_cpGrooveJointGetR1"

external cpGrooveJointGetR2: groove_joint:cpGrooveJoint -> cpVect = "ml_cpGrooveJointGetR2"

external cpGrooveJointGetK1: groove_joint:cpGrooveJoint -> cpVect = "ml_cpGrooveJointGetK1"

external cpGrooveJointGetK2: groove_joint:cpGrooveJoint -> cpVect = "ml_cpGrooveJointGetK2"

external cpGrooveJointGetJAcc: groove_joint:cpGrooveJoint -> cpVect = "ml_cpGrooveJointGetJAcc"

external cpGrooveJointGetJMaxLen: groove_joint:cpGrooveJoint -> float = "ml_cpGrooveJointGetJMaxLen"

external cpGrooveJointGetBias: groove_joint:cpGrooveJoint -> cpVect = "ml_cpGrooveJointGetBias"

external cpContactGetP: cp_contact:cpContact -> cpVect = "ml_cpContactGetP"

external cpContactGetN: cp_contact:cpContact -> cpVect = "ml_cpContactGetN"

external cpContactGetDist: cp_contact:cpContact -> float = "ml_cpContactGetDist"

external cpContactGetR1: cp_contact:cpContact -> cpVect = "ml_cpContactGetR1"

external cpContactGetR2: cp_contact:cpContact -> cpVect = "ml_cpContactGetR2"

external cpContactGetNMass: cp_contact:cpContact -> float = "ml_cpContactGetNMass"

external cpContactGetTMass: cp_contact:cpContact -> float = "ml_cpContactGetTMass"

external cpContactGetBounce: cp_contact:cpContact -> float = "ml_cpContactGetBounce"

external cpContactGetJNAcc: cp_contact:cpContact -> float = "ml_cpContactGetJNAcc"

external cpContactGetJTAcc: cp_contact:cpContact -> float = "ml_cpContactGetJTAcc"

external cpContactGetJBias: cp_contact:cpContact -> float = "ml_cpContactGetJBias"

external cpContactGetBias: cp_contact:cpContact -> float = "ml_cpContactGetBias"

external cpContactGetHash: cp_contact:cpContact -> int = "ml_cpContactGetHash"

external cpArbiterGetNumContacts: arbiter:cpArbiter -> int = "ml_cpArbiterGetNumContacts"

external cpArbiterGetPA: arbiter:cpArbiter -> cpShape = "ml_cpArbiterGetPA"

external cpArbiterGetPB: arbiter:cpArbiter -> cpShape = "ml_cpArbiterGetPB"

external cpArbiterGetE: arbiter:cpArbiter -> float = "ml_cpArbiterGetE"

external cpArbiterGetU: arbiter:cpArbiter -> float = "ml_cpArbiterGetU"

external cpArbiterGetSurface_vr: arbiter:cpArbiter -> cpVect = "ml_cpArbiterGetSurface_vr"

external cpArbiterGetStamp: arbiter:cpArbiter -> int = "ml_cpArbiterGetStamp"

external cpArbiterGetSwappedColl: arbiter:cpArbiter -> char = "ml_cpArbiterGetSwappedColl"

external cpArbiterGetState: arbiter:cpArbiter -> char = "ml_cpArbiterGetState"

external cpBBGetL: bb:cpBB -> float = "ml_cpBBGetL"

external cpBBGetB: bb:cpBB -> float = "ml_cpBBGetB"

external cpBBGetR: bb:cpBB -> float = "ml_cpBBGetR"

external cpBBGetT: bb:cpBB -> float = "ml_cpBBGetT"
